v1 - ECS from LP - RG


derived from leaf photosynthesis only PMF calculations
// CALCULATIONS FOR PROTON MOTIVE FORCE VIA ECS PORTION OF THE TRACE
//----------------------------

var output = {};

var data = json.data_raw;
var vhplus;
var tau;
var ECSt;
var quality_flag = 0;
var i = 0;
var j = 0;
var h = 0;
var k = 0;
var smooth1 = data.slice(600,900);
var smooth0 = data.slice(600,900);

///*

var pulsedistance = 1; // pulse distance for the ECS portion of the trace in seconds
var ecsPulses = 300; // pulses during each light cycle duing ECS portion of trace (300 light on, 300 light off, 300 light on)
var fit_cutoff = .01; // valueless number indicating what portion of the decay curve to pass to the decay fitting subroutine
var hit_cutoff_times = 1;  // this is a counter to ensure we don't just hit a weird portion of the curve and cutoff too soon.   

// we need an array representing the time (in us) and data for each pulse in the ECS trace.  Subtract first and less point so it's 898 points total

var timeArray = [];
for (var i = 1; i < ecsPulses*3+1; i++) {
  timeArray[i-1] = pulsedistance*i;
}
var ecsArray = data.slice(600,1500);

// the very first pulse is often low.  Just set it to the 2nd pulse by default
ecsArray[0] = ecsArray[1];
// now check for big spikes
for (var i = 1; i < ecsArray.length; i++) {
// this line should be flat, or slightly sloped.  So if there are any big spikes (> 10% of the previous value) then set it equal to the previous value
  if (ecsArray[i] > 1.10*ecsArray[i-1]) {
    ecsArray[i] = ecsArray[i-1];
  }
}



// first lets make the ECS trace flat, in case for some reason it's tilted up or down. Skip first and last point in case there were blips

var flattenData = ecsArray.slice(0,ecsPulses);
var flattenTime = timeArray.slice(0,ecsPulses);

// make some error catching things - standard deviation of the first portion of the trace... etc.
var flattenData_std = MathSTDEV(flattenData);
var endOfTrace_std =  MathSTDEV(ecsArray.slice(ecsPulses*2,ecsPulses*3));


// now let's run a regression to determine the slope
  
var flattenReg = MathLINREG(flattenTime,flattenData);

//output["flatten slope"] = MathROUND(flattenReg.m,4);

// now we assume this slope applies to the whole ECS trace, and subtract off the slope at each point

var ecsArray_flat = ecsArray.slice(0,ecsPulses*3);
for (var i = 0; i < timeArray.length; i++) {
  var adjustment = flattenReg.m*timeArray[i]; 
  ecsArray_flat[i] = ecsArray_flat[i]-adjustment;
}
// now we can calculate the initial and max ecs values to calculate ECSt
// calculated as the median value within 25 pulses of the light-on phase (minimum) and within 50 pulses of the light off phase (maximum)
ecs_initial = MathROUND(MathMEDIAN(ecsArray_flat.slice(ecsPulses-25,ecsPulses)),2);
ecs_max = MathROUND(MathMEDIAN(ecsArray_flat.slice(ecsPulses*2-100,ecsPulses*2)),2);
ecst_estimate = ecs_max - ecs_initial;
output["ecs_initial"] = MathROUND(MathMEDIAN(ecsArray_flat.slice(ecsPulses-25,ecsPulses)),2);
output["ecs_max"] = MathROUND(MathMEDIAN(ecsArray_flat.slice(ecsPulses*2-100,ecsPulses*2)),2);

//output["ecsArray flattened"] = ecsArray_flat;
// sanity check - ok these two numbers should be much closer to each other (slope has moved towards 0), and make sure our flattening worked
//output["ecsArray post 0"] = ecsArray_flat[0];
//output["ecsArray post 300"] = ecsArray_flat[300];

// Then convert these values into absorbance in the form abs = -log(Io/I), where we set Io to ecs_initial.  
// For the decay fitting subroutine, we also try to set the estimated asymptote (ecs_max) to zero - this helps the fitting subroutine reduce iterations to converge to the correct value
ecsArray_flat_log = [];
for (var i = 0; i < timeArray.length; i++) {
  var abs = MathLOG(ecs_initial/(ecsArray_flat[i])); 
  ecsArray_flat_log[i] = abs - MathLOG(ecs_initial/ecs_max);
}

output["ECS full"] = ecsArray_flat_log;

  //output["ecs_r_squared"] = flattenReg.r;

if (ecs_initial <= 8000) {
  warning("There was a technical error with your measurement, please retake the measurement", output);
}

else if (ecs_initial >= 58000) {
  warning("There was a technical error with your measurement, please retake the measurement", output);
}

/*if (ecst_estimate < 2) {
  output["ECSt"] = 0;
  output["vH+"] = 0;
  output["gH+"] = 0;
  warning("proton motive force signal too low.  May be due to low ambient light, or normal biological variation.  ECSt, vH+, and gH+ have been set to zero", output);
}
if (flattenData_std > 25 || endOfTrace_std > 25) {
  output["ECSt"] = "NA";
  output["vH+"] = "NA";
  output["gH+"] = "NA";
  warning("Proton Motive Force too noisy", output);
}*/

if (!(flattenData_std > 25 || endOfTrace_std > 25 || ecst_estimate < 2 )) {
  // Now we fit a best fit line to the curve.  We need to put our data in the format [[x,y],[x,y]...] first though
  var expData = ecsArray_flat_log.slice(ecsPulses,ecsPulses+100);
  var expTime = [];
  // normalize time to zero for the fit
  for (var i = 0; i < timeArray.slice(ecsPulses, ecsPulses*2).length; i++) {
    expTime.push(i);
  }
  //output["time array"] = expTime;
  output["ECS decay"] = expData;

  var expFitArray = [];
  for (var i = 0; i < 100; i++) {
    expFitArray[i] = [expTime[i], expData[i]];
  }
  
  expReg = MathEXPINVREG(expFitArray);

  // questions for kevin - ECSt would be y int + outputted asymptote, correct?

  //output["asymptote"] = expReg.asymptote;
  output["ECSt"] = MathROUND(expReg.results[0],4);
  //output["expFit slope"] = expReg.slope;
  output["vH+"] = MathROUND(expReg.slope,8);
  //output["expFit lifetime"] = expReg.lifetime;
  output["gH+"] = MathROUND(expReg.lifetime,4);
}




/****************OUTPUT VALUES FROM MACRO *******************/


// Finally, use the "order" object to define the order of the outputs (focus on the top 6 most important for the user to see)
//----------------------------
output["Light Intensity (PAR)"] = json.light_intensity;
//output["Leaf Temp Differential"] = json.contactless_temp - json.temperature;


output["Ambient Temperature"] = json.temperature;
output["Ambient Humidity"] = json.humidity;
//output["Leaf Angle"] = json.angle;



var maxvalue = MathMAX([json.r,json.g,json.b]);
//output["R"] = Number(json.r);
//output["G"] = Number(json.g);
//output["B"] = Number(json.b);

return output;
{
  "time_offset": 180,
  "time": 1501520419432,
  "device_name": "MultispeQ",
  "device_version": "1",
  "device_id": "01:06:11:88",
  "device_battery": 26,
  "device_firmware": 1.17,
  "sample": [
    {
      "time": 1501520419444,
      "protocol_id": 1,
      "data_raw": [
        7835,
        9595,
        9615,
        9617,
        9619,
        9626,
        9623,
        9621,
        9625,
        9625,
        9623,
        9626,
        9626,
        9622,
        9624,
        9626,
        9623,
        9623,
        9623,
        9622,
        9624,
        9625,
        9623,
        9629,
        9627,
        9623,
        9623,
        9620,
        9621,
        9615,
        9618,
        9621,
        9618,
        9620,
        9621,
        9619,
        9622,
        9621,
        9622,
        9621,
        9621,
        9621,
        9623,
        9623,
        9623,
        9625,
        9625,
        9621,
        9624,
        9623,
        9620,
        9622,
        9622,
        9621,
        9622,
        9623,
        9623,
        9623,
        9621,
        9624,
        9627,
        9625,
        9625,
        9623,
        9619,
        9619,
        9617,
        9618,
        9619,
        9617,
        9617,
        9618,
        9617,
        9619,
        9619,
        9616,
        9619,
        9624,
        9621,
        9621,
        9625,
        9621,
        9625,
        9623,
        9623,
        9625,
        9619,
        9621,
        9621,
        9622,
        9621,
        9620,
        9619,
        9622,
        9620,
        9619,
        9619,
        9619,
        9620,
        9621,
        9615,
        9620,
        9619,
        9621,
        9618,
        9618,
        9617,
        9615,
        9618,
        9614,
        9617,
        9615,
        9619,
        9615,
        9613,
        9619,
        9618,
        9618,
        9623,
        9618,
        9619,
        9621,
        9619,
        9621,
        9620,
        9618,
        9620,
        9617,
        9619,
        9619,
        9618,
        9621,
        9618,
        9620,
        9620,
        9621,
        9618,
        9619,
        9619,
        9615,
        9618,
        9621,
        9623,
        9621,
        9620,
        9618,
        9615,
        9615,
        9615,
        9615,
        9617,
        9615,
        9615,
        9613,
        9614,
        9615,
        9611,
        9615,
        9617,
        9615,
        9617,
        9621,
        9616,
        9619,
        9621,
        9619,
        9621,
        9621,
        9619,
        9620,
        9621,
        9621,
        9620,
        9621,
        9623,
        9619,
        9620,
        9619,
        9619,
        9623,
        9618,
        9618,
        9621,
        9618,
        9620,
        9619,
        9617,
        9620,
        9623,
        9621,
        9622,
        9615,
        9615,
        9617,
        9612,
        9615,
        9615,
        9614,
        9616,
        9612,
        9615,
        9617,
        9615,
        9617,
        9616,
        9619,
        9620,
        9618,
        9618,
        9620,
        9616,
        9618,
        9618,
        9620,
        9617,
        9622,
        9621,
        9621,
        9619,
        9619,
        9620,
        9620,
        9618,
        9618,
        9618,
        9616,
        9623,
        9618,
        9619,
        9619,
        9616,
        9620,
        9617,
        9621,
        9619,
        9621,
        9621,
        9621,
        9615,
        9615,
        9614,
        9615,
        9617,
        9615,
        9615,
        9614,
        9614,
        9615,
        9616,
        9615,
        9616,
        9616,
        9619,
        9621,
        9618,
        9619,
        9619,
        9615,
        9620,
        9621,
        9619,
        9619,
        9618,
        9619,
        9616,
        9619,
        9615,
        9619,
        9619,
        9619,
        9621,
        9617,
        9614,
        9617,
        9617,
        9617,
        9618,
        9618,
        9615,
        9619,
        9617,
        9616,
        9619,
        9617,
        9616,
        9618,
        9615,
        9613,
        9615,
        9614,
        9613,
        9615,
        9613,
        9613,
        9613,
        9611,
        9614,
        9615,
        9615,
        9614,
        9422,
        9587,
        9589,
        9591,
        9591,
        9594,
        9595,
        9591,
        9597,
        9598,
        9597,
        9597,
        9601,
        9599,
        9600,
        9603,
        9599,
        9602,
        9602,
        9605,
        9603,
        9603,
        9605,
        9603,
        9604,
        9607,
        9609,
        9606,
        9606,
        9607,
        9605,
        9607,
        9608,
        9611,
        9608,
        9611,
        9609,
        9606,
        9606,
        9609,
        9605,
        9607,
        9607,
        9604,
        9607,
        9606,
        9603,
        9606,
        9605,
        9607,
        9606,
        9607,
        9610,
        9610,
        9606,
        9609,
        9610,
        9611,
        9612,
        9611,
        9613,
        9612,
        9611,
        9609,
        9611,
        9612,
        9611,
        9615,
        9613,
        9611,
        9613,
        9615,
        9613,
        9613,
        9612,
        9610,
        9613,
        9612,
        9611,
        9612,
        9614,
        9611,
        9610,
        9612,
        9613,
        9613,
        9611,
        9611,
        9613,
        9607,
        9611,
        9613,
        9610,
        9613,
        9615,
        9613,
        9615,
        9613,
        9612,
        9613,
        9608,
        9611,
        9608,
        9609,
        9609,
        9609,
        9607,
        9610,
        9608,
        9611,
        9609,
        9612,
        9612,
        9607,
        9609,
        9607,
        9612,
        9612,
        9611,
        9610,
        9615,
        9612,
        9615,
        9615,
        9614,
        9612,
        9613,
        9611,
        9617,
        9615,
        9615,
        9615,
        9614,
        9615,
        9612,
        9613,
        9615,
        9615,
        9613,
        9613,
        9615,
        9612,
        9615,
        9615,
        9615,
        9616,
        9611,
        9613,
        9615,
        9611,
        9613,
        9615,
        9613,
        9615,
        9613,
        9616,
        9615,
        9614,
        9614,
        9617,
        9613,
        9615,
        9610,
        9613,
        9610,
        9610,
        9612,
        9609,
        9612,
        9606,
        9607,
        9609,
        9609,
        9613,
        9610,
        9607,
        9610,
        9611,
        9610,
        9607,
        9611,
        9607,
        9607,
        9611,
        9609,
        9613,
        9611,
        9609,
        9614,
        9610,
        9615,
        9615,
        9610,
        9615,
        9615,
        9615,
        9615,
        9612,
        9617,
        9613,
        9614,
        9615,
        9614,
        9615,
        9613,
        9615,
        9617,
        9613,
        9615,
        9614,
        9613,
        9615,
        9613,
        9615,
        9612,
        9611,
        9615,
        9614,
        9613,
        9611,
        9610,
        9613,
        9612,
        9615,
        9614,
        9613,
        9613,
        9611,
        9611,
        9614,
        9614,
        9612,
        9617,
        9614,
        9613,
        9613,
        9613,
        9614,
        9610,
        9611,
        9610,
        9607,
        9609,
        9607,
        9606,
        9611,
        9607,
        9607,
        9610,
        9609,
        9611,
        9606,
        9607,
        9613,
        9611,
        9611,
        9608,
        9610,
        9611,
        9612,
        9611,
        9614,
        9615,
        9612,
        9613,
        9615,
        9616,
        9612,
        9612,
        9613,
        9615,
        9614,
        9613,
        9614,
        9615,
        9612,
        9618,
        9614,
        9613,
        9613,
        9617,
        9613,
        9614,
        9614,
        9615,
        9614,
        9614,
        9612,
        9617,
        9614,
        9612,
        9613,
        9613,
        9613,
        9613,
        9612,
        9612,
        9614,
        9610,
        9613,
        9631,
        9630,
        9631,
        9633,
        9630,
        9635,
        9632,
        9631,
        9635,
        9634,
        9634,
        9636,
        9633,
        9636,
        9636,
        9636,
        9637,
        9638,
        9635,
        9639,
        9639,
        9639,
        9639,
        9638,
        9639,
        9640,
        9641,
        9641,
        9640,
        9639,
        9640,
        9644,
        9639,
        9642,
        9643,
        9639,
        9639,
        9641,
        9639,
        9641,
        9639,
        9639,
        9639,
        9640,
        9639,
        9639,
        9637,
        9641,
        9639,
        9638,
        9638,
        9641,
        9638,
        9640,
        9637,
        9638,
        9639,
        9637,
        9639,
        9638,
        9638,
        9638,
        9638,
        9640,
        9639,
        9637,
        9639,
        9637,
        9636,
        9639,
        9639,
        9638,
        9638,
        9640,
        9639,
        9638,
        9637,
        9641,
        9638,
        9639,
        9642,
        9638,
        9639,
        9638,
        9637,
        9636,
        9640,
        9638,
        9637,
        9639,
        9639,
        9636,
        9636,
        9636,
        9636,
        9638,
        9635,
        9635,
        9632,
        9635,
        9636,
        9633,
        9637,
        9634,
        9634,
        9635,
        9637,
        9637,
        9634,
        9635,
        9635,
        9637,
        9635,
        9631,
        9634,
        9637,
        9636,
        9633,
        9634,
        9634,
        9633,
        9634,
        9637,
        9637,
        9637,
        9635,
        9636,
        9638,
        9635,
        9636,
        9637,
        9636,
        9636,
        9640,
        9637,
        9637,
        9638,
        9637,
        9634,
        9635,
        9637,
        9635,
        9634,
        9635,
        9637,
        9634,
        9637,
        9639,
        9634,
        9637,
        9636,
        9633,
        9634,
        9636,
        9636,
        9638,
        9635,
        9636,
        9636,
        9635,
        9638,
        9634,
        9635,
        9637,
        9634,
        9635,
        9634,
        9631,
        9634,
        9637,
        9635,
        9637,
        9636,
        9637,
        9635,
        9637,
        9635,
        9634,
        9639,
        9634,
        9638,
        9634,
        9632,
        9632,
        9631,
        9632,
        9631,
        9629,
        9630,
        9631,
        9631,
        9632,
        9633,
        9629,
        9634,
        9631,
        9629,
        9629,
        9631,
        9631,
        9630,
        9630,
        9631,
        9629,
        9630,
        9631,
        9628,
        9630,
        9633,
        9630,
        9630,
        9634,
        9630,
        9634,
        9636,
        9632,
        9633,
        9636,
        9631,
        9633,
        9635,
        9633,
        9633,
        9634,
        9631,
        9631,
        9634,
        9631,
        9631,
        9634,
        9634,
        9630,
        9634,
        9630,
        9631,
        9635,
        9629,
        9631,
        9631,
        9634,
        9631,
        9631,
        9633,
        9635,
        9631,
        9635,
        9631,
        9634,
        9631,
        9633,
        9631,
        9631,
        9631,
        9631,
        9631,
        9630,
        9630,
        9629,
        9629,
        9631,
        9631,
        9629,
        9631,
        9631,
        9629,
        9629,
        9629,
        9627,
        9626,
        9626,
        9630,
        9623,
        9626,
        9623,
        9623,
        9622,
        9625,
        9626,
        9622,
        9623,
        9624,
        9623,
        9623,
        9624,
        9626,
        9623,
        9625,
        9623,
        9621,
        9622,
        9621,
        9622,
        9623,
        9625,
        9625,
        9630,
        9627,
        9628,
        9626,
        9623,
        9626,
        9629,
        9629,
        9629,
        9633,
        9633,
        9633,
        9635,
        9637,
        9635,
        9635,
        9638,
        9639,
        9642,
        9641,
        9642,
        9642,
        9644,
        9642,
        9649,
        9645,
        9648,
        9647,
        9649,
        9651,
        9649,
        9651,
        9650,
        9651,
        9652,
        9649,
        9655,
        9650,
        9653,
        9654,
        9655,
        9655,
        9653,
        9655,
        9653,
        9654,
        9654,
        9649,
        9651,
        9650,
        9653,
        9657,
        9651,
        9652,
        9651,
        9651,
        9655,
        9654,
        9654,
        9655,
        9653,
        9655,
        9654,
        9652,
        9655,
        9654,
        9653,
        9655,
        9652,
        9655,
        9655,
        9654,
        9658,
        9654,
        9659,
        9659,
        9662,
        9661,
        9657,
        9662,
        9660,
        9657,
        9660,
        9659,
        9657,
        9660,
        9658,
        9658,
        9658,
        9655,
        9659,
        9660,
        9657,
        9659,
        9661,
        9658,
        9659,
        9658,
        9659,
        9661,
        9657,
        9659,
        9661,
        9659,
        9662,
        9660,
        9661,
        9662,
        9659,
        9659,
        9661,
        9663,
        9664,
        9663,
        9662,
        9659,
        9657,
        9657,
        9657,
        9657,
        9658,
        9657,
        9657,
        9658,
        9652,
        9655,
        9655,
        9651,
        9655,
        9653,
        9655,
        9654,
        9653,
        9653,
        9655,
        9652,
        9653,
        9651,
        9654,
        9651,
        9652,
        9653,
        9652,
        9654,
        9655,
        9652,
        9656,
        9654,
        9657,
        9658,
        9655,
        9655,
        9658,
        9657,
        9656,
        9655,
        9655,
        9656,
        9654,
        9658,
        9654,
        9657,
        9655,
        9655,
        9656,
        9653,
        9655,
        9653,
        9652,
        9653,
        9653,
        9655,
        9655,
        9653,
        9655,
        9651,
        9653,
        9656,
        9657,
        9655,
        9651,
        9655,
        9653,
        9652,
        9657,
        9651,
        9656,
        9655,
        9651,
        9658,
        9657,
        9652,
        9655,
        9651,
        9652,
        9651,
        9651,
        9650,
        9649,
        9646,
        9652,
        9649,
        9650,
        9647,
        9647,
        9647,
        9647,
        9650,
        9648,
        9648,
        9647,
        9647,
        9652,
        9647,
        9653,
        9651,
        9648,
        9651,
        9651,
        9650,
        9650,
        9653,
        9649,
        9652,
        9652,
        9650,
        9652,
        9650,
        9647,
        9655,
        9650,
        9651,
        9653,
        9651,
        9652,
        9652,
        9647,
        9651,
        9651,
        9647,
        9651,
        9651,
        9646,
        9652,
        9650,
        9650,
        9650,
        9651,
        9650,
        9653,
        9651,
        9651,
        9649,
        9649,
        9646,
        9652,
        9649,
        9646,
        9649,
        9647,
        9646,
        9649,
        9643,
        9645,
        9642,
        9643,
        9647,
        9643,
        9646,
        9643,
        9647,
        9645,
        9645,
        9647,
        9644,
        9645,
        9643,
        9646,
        9647,
        9647,
        9647,
        9647,
        9650,
        9649,
        9651,
        9652,
        9648,
        9647,
        9647,
        9645,
        9648,
        9647,
        9648,
        9649,
        9643,
        9647,
        9647,
        9643,
        9647,
        9648,
        9647,
        9644,
        9649,
        9646,
        9649,
        9647,
        9638,
        9633,
        9630,
        9623,
        9623,
        9619,
        9619,
        9618,
        9615,
        9616,
        9615,
        9614,
        9615,
        9612,
        9615,
        9607,
        9614,
        9607,
        9609,
        9608,
        9607,
        9607,
        9609,
        9607,
        9607,
        9607,
        9603,
        9605,
        9606,
        9604,
        9603,
        9607,
        9602,
        9605,
        9604,
        9606,
        9606,
        9605,
        9605,
        9606,
        9605,
        9605,
        9606,
        9605,
        9605,
        9604,
        9603,
        9604,
        9602,
        9601,
        9603,
        9602,
        9599,
        9602,
        9601,
        9601,
        9600,
        9601,
        9601,
        9602,
        9600,
        9601,
        9599,
        9600,
        9598,
        9597,
        9595,
        9593,
        9596,
        9597,
        9595,
        9594,
        9592,
        9595,
        9591,
        9590,
        9593,
        9587,
        9590,
        9590,
        9588,
        9589,
        9591,
        9590,
        9589,
        9586,
        9587,
        9590,
        9587,
        9587,
        9591,
        9591,
        9593,
        9593,
        9593,
        9593,
        9597,
        9593,
        9591,
        9593,
        9589,
        9591,
        9590,
        9590,
        9593,
        9589,
        9590,
        9591,
        9589,
        9593,
        9589,
        9591,
        9590,
        9588,
        9589,
        9590,
        9591,
        9591,
        9590,
        9591,
        9591,
        9589,
        9589,
        9588,
        9590,
        9586,
        9588,
        9587,
        9583,
        9586,
        9584,
        9585,
        9584,
        9583,
        9584,
        9585,
        9583,
        9586,
        9583,
        9588,
        9587,
        9587,
        9588,
        9587,
        9591,
        9589,
        9587,
        9587,
        9587,
        9587,
        9587,
        9586,
        9588,
        9586,
        9584,
        9587,
        9585,
        9588,
        9583,
        9588,
        9590,
        9587,
        9587,
        9588,
        9585,
        9591,
        9585,
        9585,
        9587,
        9584,
        9587,
        9581,
        9583,
        9582,
        9578,
        9579,
        9578,
        9583,
        9579,
        9579,
        9581,
        9581,
        9580,
        9579,
        9581,
        9579,
        9578,
        9581,
        9579,
        9581,
        9585,
        9579,
        9585,
        9584,
        9583,
        9582,
        9582,
        9581,
        9581,
        9579,
        9581,
        9583,
        9577,
        9581,
        9581,
        9582,
        9583,
        9581,
        9579,
        9580,
        9579,
        9580,
        9578,
        9580,
        9583,
        9577,
        9579,
        9581,
        9582,
        9577,
        9579,
        9574,
        9576,
        9575,
        9574,
        9575,
        9574,
        9575,
        9577,
        9575,
        9575,
        9575,
        9575,
        9575,
        9576,
        9577,
        9580,
        9577,
        9580,
        9581,
        9579,
        9577,
        9575,
        9578,
        9578,
        9577,
        9579,
        9577,
        9577,
        9575,
        9575,
        9581,
        9578,
        9579,
        9577,
        9575,
        9577,
        9580,
        9575,
        9574,
        9576,
        9575,
        9575,
        9575,
        9577,
        9574,
        9575,
        9570,
        9572,
        9573,
        9572,
        9571,
        9571,
        9573,
        9572,
        9568,
        9575,
        9571,
        9574,
        9574,
        9574,
        9577,
        9573,
        9575,
        9575,
        9575,
        9573,
        9573,
        9572,
        9576,
        9575,
        9573,
        9575,
        9572,
        9577,
        9574,
        9575,
        9574,
        9574
      ]
    }
  ],
  "app_os": "win",
  "app_name": "PhotosynQ",
  "app_version": "0.3.8",
  "app_device": "x86-32",
  "location": [
    "-32.9700679",
    "-60.6247501"
  ],
  "ConsoleMacro": "284"
}
Default avatar
Created by

Rodrigo Gomez


Protocol connections:
3
Latest Update:
Jul 2017